// 数据存在Data的json文件里
const Koa=require('koa')
const app=new Koa()
const cors=require('koa2-cors')
const router=require('koa-router')();  //后端数据路由写接口的
const Mock=require('mockjs')  //生成随机数据，拦截ajax请求
const Random=Mock.Random
const MainData=require('./Data/mainData/MainData.json')
const MyData=require('./Data/myData/MyData.json')
const ListData=require('./Data/ListData/ListData.json')


router.get('/home/main',async(ctx)=>{
    // console.log(ctx,'ctx');
    ctx.response.body={
        success:true,
        data:MainData,
    }
 
})

router.get('home/shopping',async(ctx)=>{
    ctx.response.body={
        success:true,
        data:ShoppingData
    }
})

router.get('/home/my',async(ctx)=>{
    // console.log(ctx,'ctx');
    ctx.response.body={
        success:true,
        data:MyData,
    }
})

router.get('/home/list', async (ctx) => {
    // console.log(ctx.request.query,'---');
    // console.log(limit,page);
    // 参数 limit page
    // 未来要根据limit 和page做数据筛选
    // http://localhost:9090/home/list?limit=20&page=1
  
    let defaultdata=Mock.mock({
        'list|20': [{
            'id':'@increment()', 
            'title':'@ctitle(10,15)',
            'price':Random.integer(0,799),
            'location':Random.city(),
            "image":Random.image('190x175')
        }]
    })
    // console.log(data,'data');
    ctx.body = {
        success: true,    
        defaultdata,
        data:ListData
    }
})


//跨域 koa-cors
app.use(cors({  
    origin:function(ctx){
        // 设置允许来自指定域名请求 
        // console.log(ctx.url,'---');
        // if(ctx.url==='/test'){
            return '*';  //允许所有域名请求
        // }    
    },
    maxAge:5,  //指定本次预检请求的有效期，单位为秒
    credentials:true,  //是否允许发送cookie
    allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], //设置所允许的HTTP请求方法
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'], //设置服务器支持的所有头信息字段
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'] //设置获取其他自定义字段
}))

app
    .use(router.routes())
    .use(router.allowedMethods())

app.listen(8080,()=>{
    console.log('8080端口已启动');
})